Thank you for trying out XWord Studio (version 1.0). It is primarily a tool to create crosswords from scratch, but should also be useful for DTP operators who need to include a crossword in a publication.
XWord Studio is shareware. If you find it useful, you should pay for it. The registration fee is just US$15, or equivalent. This entitles you to support via email, free upgrades, and a discount towards the pro version if and when that becomes available. You are welcome to distribute it freely, but please ensure the associated files are also included. (See the Print Me and Register! file.)
Features
• Normal filled or "plain" grids.
• Copy or save grids in PICT format (vector, not bitmapped).
• Automatic symmetrical filling, numbering, and text entry.
• Produces a special clues template window so that you can type in your clues easily.
• Fills typical 15 X 15 grid with words in seconds.
• Accurate and adjustable placement of characters in grid in half-point steps.
Requirements
System 7 onwards and Colour Quickdraw. The application is "fat" which means if you have a PowerMac you will benefit from that machine's faster performance but it will of course still run on earlier 680x0 Macs. Needs 500k of free RAM (see Memory below).
Please note it has not yet been tried with System 8.
Use
Features which would not become obvious by simply using the program are shown in italics.
The program has two basic modes of operation. The first is where you create the basic grid, and fill in the squares and/or numbers, and the second is where the solutions are either typed in or entered automatically.
Mode 1 (shown by the "fill" bucket)
Clicks in grid: In this mode clicking on a square fills or blanks it, according to the fill pattern selected in "Preferences".
Clicks in toolbar: Clicking the "5" square will number the frame. This is done automatically if the "Auto Numbering" menu is ticked. The button to the right deletes all the numbers.
The bottom left button automatically fills the squares, either with Order of Rotational Symmetry 2 or 4 (select from menu). Watch out for undesired effects with a prefilled frame with an even number of squares along each side! Notice too that ORS 4 has no clear meaning if the grid is not square. The bottom right button clears the frame entirely.
Mode 2 (shown by the "T" text icon)
Clicks in grid: Selects and highlights a square, for entering letters. The space (or spaces if on an intersection) the highlighted square is in also selects that space or the word it contains for certain other functions (see below).
Clicks in toolbar: The arrows select the direction in which typed text can be inputted (also changeable with command-arrow key).
The two eraser icons correspond to erasing text in the selected space, or in the whole frame respectively. "Kept" words will not be deleted by the latter action, unless the command key is down, in which case the grid will be totally cleared of letters regardless.
Similarly the bottom two buttons will use the dictionaries to automatically fill the selected space, or the whole frame.
The former process will remember words (up to eg 50 nine-letter ones) so that a new word is presented each time. The memory is cleared after a "No more words" alert, or by using the button when a different space has been selected.
The latter feature can take a while, depending on the grid layout, but it can be cancelled by pressing command-period at any time. Note that it uses a random search algorithm rather than methodically going through every possibility, which means it might never find a solution even when one is possible. Sometimes a combination of these two methods of filling a frame is best. (See comments about the dictionaries below).
File Menu
Most are self-explanatory.
New Grid See below.
Page Setup is where you can choose a printing scale factor. As a rough guide, to print a 15 X 15 grid the same size as the (London) Times Crossword Puzzle, you would need to set 90%, or 43% for the solution. Remember the title and any clues you print will be shrunk too!
Print
In addition to the current printer driver's usual selections, you can choose to print the title (ie the filename), the numbers and/or letters, and the text from the most recently opened clues or solution window. The font characteristics used for the title will be the same as for this clues window, if open, otherwise that selected for text in the grid itself will be used.
Preferences See below.
Edit Menu
Again, mostly self-explanatory. Note that when you Copy Pict the PICT information is vector rather than bitmapped, like an EPS file, so there is no degradation of resolution at different sizes. I've tried exporting grids to QuarkXPress and it seems to work just fine, even when resizing.
Options Menu
Keep Word: If you "keep" a selected word, it will remain during textfill and clear frame functions. To delete it, select it and click on the delete word button.
Add Word to File: Gives you the opportunity to add a word to the relevant dictionary. NB It doesn't actively check for duplicates.
Delete Word from File: If you are sure you don't want a word to remain in the dictionary you can permanently delete it from the file. But be warned - although some words do seem at best obscure, and at worst plain absurd, you'd be surprised how many are actually real words if you look them up! I suggest you back up the dictionaries, just in case.
Open Clues will open a new window containing a kind of clue template. There are some basic text edit functions, but you will probably want to paste the text into your word processor or DTP package. For a puzzle's clues, type them in between the clue number and the bracketed length number. The text contains tabs, so you can easily align the numbers (use a right tab) and the start of the clue (left). The solutions are there to remind you, but don't forget to delete them when you print the puzzle!
Copy Author's Address copies my email address to the clipboard.
New Grid Dialog
Everything pretty obvious. "Filled" is the normal chessboard type of grid. "Plain" (or "barred" or "skeleton") grids are those fiendish ones you get in the Sunday Magazines.
Preferences Dialog
In this dialog you can select the font, style and size for both the letters and numbers, and see the result in a double-size square.
You can also adjust their position in steps of half a point. This view is actually a more accurate representation of printout than the normal size screen grid, which has to compromise to show characters at the screen resolution of 72 dots per inch. The program is biased in favour of text printout rather than onscreen appearance (ie fractional widths enabled, for the technically-minded).
The current preferences will only apply to the current frame, if there is one. To apply them to all new crosswords, check the "Make default" square. You can also decide if you would like the program to open with a "New Grid", or "Open File" dialog box, or neither.
"Ignore apostrophes" needs a little explanation. If you had the answer: CURATESEGG, then if checked you would get (7,3) in the Clues window, otherwise (6'1,3). Compilers seem to use either so I thought it best to let you decide.
The Dictionaries
The word search part of XWord studio is naturally dependent on the quality and scope of the dictionaries. Fortunately, I am able to use an excellent freeware dictionary: the UK Advanced Cryptics Dictionary compiled by Ross Beresford (ross@bryson.demon.co.uk - dictionary available online from the ftp site: gatekeeper.dec.com/pub/micro/msdos/misc/crossword-archive). Importantly for a crosswordist, it contains phrases as well as individual words. I have split it into smaller files according to the length of the words and shuffled them - this is necessary for the way the program works. These can be edited, but care should be taken that the format is not changed. Each word should be followed by a return character and nothing else. There should be nothing before the first word and nothing after the last (except its return). Make sure that your text editor (BBEdit is an excellent freeware choice) doesn't add any codes or "invisibles" as this will cause problems with the word searching. The only additional characters allowed are spaces, hyphens and single apostrophes, if they are inside a word rather than at one end.
NOTE: Make sure the dictionaries folder is in the same folder as XWord Studio itself. Note also the space in the spelling of " 2-letter words" etc.
Memory
The memory requirements in the Get Info panel may seem a little steep for such a modest application. The reason for this is purely to do with the auto text fill feature and the way the dictionaries are loaded. The more memory you give it, the more dictionaries it can hold at once. If there is only room for one, for example, XWord Studio has to continually unload it before reloading the next from the hard disk, which slows things down a little. If you never use any of the text fill functions, ie you never load a dictionary, it could probably run with considerably less RAM.
Known problems and limitations
Auto text fill works best with the traditional filled style, and doesn't like plain grids or lots of long intersecting words.
If you have "kept" any words in text mode, gone back to fill mode and made a change, then reverted to text mode all the spaces are re-calculated and kept words will be forgotten, even if the change didn't directly affect that word. Then if you try to delete a word, you might be told the word isn't in the dictionary. Also, if you open a text window with "as in dictionary" selected in the preferences, that info will be lost and the text will appear in capitals.
I have heard of problems with certain printers (thin white lines appearing). I believe this is due to the limitations of the Quickdraw vector drawing system. If I ever get round to PostScript support that should solve the problem.
Coming soon (if there is sufficient interest)
PostScript support.
A utility program to convert any dictionary to the required format.
Define a priority word list for the text-fill function.
History (which might be of interest to other newish programmers)
I first started working on this idea on my trusty Atari ST using first ST Basic, then GFA Basic. When I graduated to the Mac I thought a good way to get into C programming would be to adapt the earlier effort and make it into a Mac-like application. I didn't realise when I started how many similar programs there are out there, but, what the hell. I bought CodeWarrior and Jim Trudeau's excellent "Programming Starter Kit for Macintosh". I did find this a little baffling to begin with, and I actually got started by adapting "Slim" by Brigham Stevens - there's nothing like seeing a complete, small working program for getting going. But a real boost came in the form of "Macintosh C" by K. J. Bricknell, obtainable online from http://www.AmbrosiaSW.com/alt.sources.mac/macintosh-c. I would strongly recommend this to any would-be Mac programmer. I actually printed the whole thing out and had it bound in three sections!
I've lifted small and not-so-small chunks of all these, and more, here and there, and I would like to thank all those programmers involved for sharing their secrets.